繼前面將網頁下拉到最後一頁,讓全部的內容都載完之後,需要做兩件事:
1.得到網頁的全部內容,並從中獲取需要的部分
2.將整理過的資料,存到excel/資料庫中
第一步:
我們可以用selenium的page_source()方法來獲得網頁的原始碼(獲得的原始碼相當於右鍵點"檢視原始碼"獲得的網頁html,如下圖),並搭配各種html解析的套件,將需要的內容解析出來
獲得網頁原始碼後,使用html解析的套件(這邊使用beautifulSoup)將需要的工作名稱/公司名/公司地址/薪水/經歷要求/學歷要求/工作內容/詳情連結解析出來(使用方法類似於css選取器)
第二步:
得到各個資料後,將資料存入excel中, 這邊採用openpyxl套件寫入,希望的的格式如下圖:
列=蒐集到的需要的各欄位的資料
行=上述各欄位(工作名稱/公司名/公司地址/薪水/經歷要求/學歷要求/工作內容/詳情連結)
因此使用雙重迴圈的方式,將資料寫入各個儲存格中
代碼如下:
import openpyxl
#寫進excel
workbook=openpyxl.Workbook()
sheet=workbook.worksheets[0] # 第一個工作表
headers=['職稱','公司名','地址','薪水','經歷要求','學歷','工作內容','詳情']
sheet.append(headers)
rows=sheet.max_row
cols=sheet.max_column
# sheet.cell(row=2,column=1).value='100' #A2
#雙重迴圈:列=蒐集到的需要的各欄位的資料,行=各欄位
data_list=[job_names,company_names,company_addrs,salaries,experiences,educations,contents,details]
for i,val_list in enumerate(data_list):
for j,vals in enumerate(val_list):
sheet.cell(row=int(j+2),column=int(i+1)).value=vals
workbook.save('./test_engineer.xlsx')